package com.chenju.javastatic.service;

import com.chenju.javastatic.domain.entity.DiffMethodsEntity;
import com.chenju.javastatic.domain.entity.ParsedRecordEntity;
import com.chenju.javastatic.domain.pojo.*;

import java.io.File;
import java.util.List;

public interface JavaParserService {
    List<DiffPoJo> parseBranchDiff(String projectName, File repoDir, String oldBranchName, String newBranchName);

    List<DiffPoJo> parseCommitDiff(String projectName, File repoDir, String oldCommitHash, String newCommitHash);

    PageResult<DiffMethodsEntity> selectAllDiffMethods(DiffMethodsListPageRequestPoJo diffMethodsListPageRequestPoJo);

    DiffMethodsEntity selectDiffMethodById(Long id);

//    PageResult<DiffMethodsEntity> selectAllParsedRecords(ParsedRecordListPageRequestPoJo parsedRecordListPageRequestPoJo);
    PageResult<ParsedRecordEntity> selectAllParsedRecords(ParseCodeDiffPageRequestPoJo parseCodeDiffPageRequestPoJo);

    void deleteRecordById(Long id);
}
